package com.eastfair.projectcore.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.time.LocalDateTime;
    import lombok.Data;
    import lombok.Builder;
    import lombok.EqualsAndHashCode;
    import lombok.NoArgsConstructor;
    import lombok.AllArgsConstructor;
    import com.fasterxml.jackson.annotation.JsonInclude;
    import lombok.ToString;
    import lombok.experimental.Accessors;
    import com.eastfair.annotation.annotation.vo.VoInfo;
    import com.eastfair.annotation.model.BaseVoGroupClass;
import java.io.Serializable;
import com.eastfair.vo.BaseVO;

/**
* <p>
    * 实体类
    * 接口与菜单关系
    * </p>
*
* @author ligang
* @since 2023-05-11
*/
    @Data
    @ApiModel(value = "InterfaceMenuVO", description = "接口与菜单关系")
public class InterfaceMenuVO extends BaseVO implements Serializable {

private static final long serialVersionUID = 1L;

        @ApiModelProperty(value = "主键")
        @JsonInclude(JsonInclude.Include.NON_NULL)
        @VoInfo(groups = {BaseVoGroupClass.all.class})
        private Long id;

            /**
            * 菜单ID
            */
            @ApiModelProperty(value = "菜单ID")
            @JsonInclude(JsonInclude.Include.NON_NULL)
                @NotNull(message = "请填写菜单ID")
        private Long menuId;
            /**
            * 方法名
            */
            @ApiModelProperty(value = "方法名")
            @JsonInclude(JsonInclude.Include.NON_NULL)
                @Size(max = 255, message = "方法名长度不能超过255")
        private String method;
            /**
            * 全接口地址
            */
            @ApiModelProperty(value = "全接口地址")
            @JsonInclude(JsonInclude.Include.NON_NULL)
                @Size(max = 255, message = "全接口地址长度不能超过255")
        private String fullUrl;
            /**
            * 接口ID
            */
            @ApiModelProperty(value = "接口ID")
            @JsonInclude(JsonInclude.Include.NON_NULL)
                @NotNull(message = "请填写接口ID")
        private Long interfaceId;
            /**
            * 是否生效(默认1：可用 0:不可用)
            */
            @ApiModelProperty(value = "是否生效(默认1：可用 0:不可用)")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isEnabled;
            /**
            * 是否删除(默认0：未删除 1:已删除)
            */
            @ApiModelProperty(value = "是否删除(默认0：未删除 1:已删除)")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isDeleted;
}
